/**
 * Project Name:alqsoft-ms
 * File Name:ConnectionInterface.java
 * Package Name:com.alqsoft
 * Date:2016年10月18日下午4:28:50
 * Copyright (c) 2016, chenzhou1025@126.com All Rights Reserved.
 *
*/

package com.alqsoft;

import java.nio.channels.SocketChannel;
import java.util.concurrent.ConcurrentHashMap;

import com.alqsoft.bean.BaseInfo;

/**
 * ClassName:ConnectionInterface <br/>
 * Function: TODO ADD FUNCTION. <br/>
 * Reason:	 TODO ADD REASON. <br/>
 * Date:     2016年10月18日 下午4:28:50 <br/>
 * @author   张灿
 * @version  定义聊天系统，方法规则 
 * @since    JDK 1.8
 * @see 	 
 */
public interface ConnectionInterface {
	/**
	 * 客户端登录，服务端马上给予回复
	 */
	public void responseLogin(SocketChannel sc,BaseInfo baseInfo,String password);
	/**
	 * 服务端回复内容，服务端通过作业扫描获取
	 * @param context
	 */
	public void responseSend(ConcurrentHashMap<String, Object> hashMap, BaseInfo baseInfo);
	/**
	 * 客户端注销登录，服务端马上给予回复
	 */
	public void responseLoginOut(SocketChannel sc,BaseInfo baseInfo);
	/**
	 * 得到客户端发送的消息，保存到消息内存区
	 * @param baseInfo
	 */
	public void receiveSend(BaseInfo baseInfo);
	/**
	 * 服务器给客户端发送消息
	 * @param sc
	 * @param baseInfo
	 */
	public void responseSend(SocketChannel sc, BaseInfo baseInfo);
	/**
	 * 心跳包，服务端要马上给予回复；
	 */
	public void heartBeat(SocketChannel sc, BaseInfo baseInfo);
	
}
